1. Field of the Invention
Example embodiments of the present invention relate generally to methods of managing a key cache, and more particularly to methods of managing a key cache for a trusted platform module (TPM).
2. Description of the Related Art
A system-on-chip (SoC) (e.g., standardized by Trust computing group (TCG)) may be configured in order to provide secure key management and platform integrity. The standardized SoC may be referred to as a trusted platform module (TPM). Applications may use a TPM software stack (TSS) to load keys to the TPM. The TSS may be a standard application programming interface (API) by which applications use the TPM.
The TSS may be divided into a TSS service provider (TSP) and a TSS core service (TCS). The TSP may be provided as a dynamic library to applications and the TCS may be provided as a system service or “daemon” to the TSP. Accordingly, applications may call the API of the TSP and/or the TSP may call the API of the TCS in order to use the TPM.
FIG. 1 illustrates a relationship between the TPM and the TSS according to conventional TCG specifications. Referring to FIG. 1, applications APP#1 through APP#n may request the TPM to load keys. Key slots corresponding to the keys may be allocated to the TPM for the requests of the applications APP#1 through APP#n.
Referring to FIG. 1, the TPM may correspond to hardware that is an SoC having relatively limited memory resources. Furthermore, increasing the capacity of the TPM may be relatively expensive. Limitations on TPM memory resources may restrict key loading functionality.
Further, different versions of the TPM and TSS may be executed at the same time because developments of the TPM and TSS, respectively, may be based upon both hardware engineering and software engineering, which may not necessarily progress at the same rate. However, it may be difficult to implement different versions of the TPM and TSS due to compatibility issues.